package com.example.kekewaimaibao.order.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @author: xuxiang
 * @date: 2022/3/12 20:58 星期六
 * @description:
 * @version: 1.0
 */
@Data
@TableName("keke_order")
public class OrderDO implements Serializable {
    private static final long serialVersionUID = -1L;

    @TableId("order_id")
    private Long orderId;
    @TableField("user_id")
    private Long userId;
    @TableField("shop_id")
    private Long shopId;
    @TableField("box_cost")
    private Double boxCost;
    @TableField("send_cost")
    private Double sendCost;
    @TableField("total_money")
    private Double totalMoney;
    @TableField("pay_money")
    private Double payMoney;
    @TableField("pay_way")
    private String payWay;
    @TableField("status")
    private String status;
    @TableLogic
    private String delFlag;
    @TableField("create_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @TableField("update_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * remark字段存储goodsList currentList shopAddressInfo userAddressInfo的信息
     * goodsList: 即一个商家所有商品列表
     * currentList：是用户在选购商品页面点的个数列表（下标对应goodsList）
     * shopAddressInfo：实际上是一个ShopDO，标识goodsList的商家，以及有商家地址信息
     * userAddressInfo：实际上是一个AddressDO，里面有冗余的user_name,sex,phone字段
     *     也有用户的地址信息，冗余字段可以写在现实生活的配送单上（适当的冗余减少连表查询的耗时）
     */
    @TableField("remark")
    private String remark;
}
